package xyz.msj.hrm.direct;

import com.rabbitmq.client.BuiltinExchangeType;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import xyz.msj.hrm.util.ConnectionUtil;

/**
 * 消息提供者
 * * 1、获取连接
 * * 2、创建管道
 * * 3、创建交换机
 * * 4、创建队列
 * * 5、准备消息
 * * 6、发送消息
 * 定向  direct
 *
 */


public class Sender {

    public static final String QUEUE_EXCHANGE_DIRECT = "queue_exchange_direct";


    public static void main(String[] args) throws Exception {


        //1、获取连接
        Connection connection = ConnectionUtil.getConnection();

        //2、创建管道
        Channel channel = connection.createChannel();
        //3、创建交换机 使用 定向交换机
        channel.exchangeDeclare(QUEUE_EXCHANGE_DIRECT, BuiltinExchangeType.DIRECT);
        //5、准备消息
        String message = "are you receive my message";
        //6、发送消息
//        String exchange:交换机
//        String routingKey,：队列名
//        AMQP.BasicProperties props,  其他属性
//        byte[] body 消息
        //routingKey 不写
        channel.basicPublish(QUEUE_EXCHANGE_DIRECT, "dept.insert", null, message.getBytes());
        System.out.println("消息发送完毕！");


    }

}
